import { KeyValue, Page, Role } from '@/model';
import axiosHttp from '@/libs/request';

/**
 * 新建一个角色
 * @param data 角色
 */
const createRole = (data: Role) => {
  return axiosHttp.post<void>('/admin/role/create', data);
};

/**
 * 分页
 * @param data 分页对象，检索条件
 */
const pageRole = (data: Page<Role>) => {
  return axiosHttp.post<Page<Role>>('/admin/role/page', data);
};

/**
 * 更新
 * @param data
 */
const updateRole = (data: Role) => {
  return axiosHttp.post<void>('/admin/role/update', data);
};

/**
 * 删除
 * @param id
 */
const deleteRole = (id: string) => {
  return axiosHttp.delete<void>('/admin/role/delete', { id });
};

/**
 * 列表
 */
const listRole = () => {
  return axiosHttp.get<Array<KeyValue>>('/admin/role/list');
};

export { createRole, pageRole, updateRole, deleteRole, listRole };
